#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project ：python_learning 
@File ：单例模式.py
@IDE  ：PyCharm 
@Author ：李涵彬
@Date ：2024/3/1 23:12 
"""

"""
单例模式 (Singleton Pattern)
单例模式是一种创建型设计模式，确保类只有一个实例，并提供一个全局访问点。这对于某些场景，例如数据库连接、日志记录器等只需一个实例的情况非常有用。

在 Python 中，实现单例模式的方式有多种，以下是其中一种简单的方式：

在这个示例中，通过使用 __new__ 方法来控制对象的创建过程，确保只有一个实例被创建。_instance 类属性用于存储唯一的实例。

这种方式是一种简单而常见的实现方式，但也有其他方式，如使用装饰器、元类等。具体选择取决于需求和设计偏好。

请注意，单例模式可能会引入全局状态，因此使用时应仔细考虑其适用性，确保不会导致意外的副作用。
"""


class Singleton:
	_instance = None

	def __new__(cls):
		if not cls._instance:
			cls._instance = super(Singleton, cls).__new__(cls)
		return cls._instance


# 客户端代码
if __name__ == "__main__":
	singleton1 = Singleton()
	singleton2 = Singleton()

	print(singleton1 is singleton2)  # 输出: True
